<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>XiaoZiYan</title><meta name="author" content="XiaoZiYan"><meta name="copyright" content="XiaoZiYan"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
<meta property="og:title" content="XiaoZiYan">
<meta property="og:url" content="https://xiaoziyanxiaoludan.gitee.io/xiaoziyan/index.html">
<meta property="og:site_name" content="XiaoZiYan">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://xiaoziyanxiaoludan.gitee.io/xiaoziyan/img/avatar.jpg">
<meta property="article:author" content="XiaoZiYan">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://xiaoziyanxiaoludan.gitee.io/xiaoziyan/img/avatar.jpg"><link rel="shortcut icon" href="/xiaoziyan/img/favicon.png"><link rel="canonical" href="https://xiaoziyanxiaoludan.gitee.io/xiaoziyan/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><meta/><link rel="stylesheet" href="/xiaoziyan/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = { 
  root: '/xiaoziyan/',
  algolia: undefined,
  localSearch: undefined,
  translate: undefined,
  noticeOutdate: undefined,
  highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
  copy: {
    success: '复制成功',
    error: '复制错误',
    noSupport: '浏览器不支持'
  },
  relativeDate: {
    homepage: false,
    post: false
  },
  runtime: '天',
  date_suffix: {
    just: '刚刚',
    min: '分钟前',
    hour: '小时前',
    day: '天前',
    month: '个月前'
  },
  copyright: {"limitCount":50,"languages":{"author":"作者: XiaoZiYan","link":"链接: ","source":"来源: XiaoZiYan","info":"著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。"}},
  lightbox: 'fancybox',
  Snackbar: {"chs_to_cht":"你已切换为繁体","cht_to_chs":"你已切换为简体","day_to_night":"你已切换为深色模式","night_to_day":"你已切换为浅色模式","bgLight":"#49b1f5","bgDark":"#121212","position":"bottom-left"},
  source: {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@latest/dist/jquery.min.js',
    justifiedGallery: {
      js: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/js/jquery.justifiedGallery.min.js',
      css: 'https://cdn.jsdelivr.net/npm/justifiedGallery/dist/css/justifiedGallery.min.css'
    },
    fancybox: {
      js: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.js',
      css: 'https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@latest/dist/jquery.fancybox.min.css'
    }
  },
  isPhotoFigcaption: true,
  islazyload: false,
  isanchor: true
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
  title: 'XiaoZiYan',
  isPost: false,
  isHome: true,
  isHighlightShrink: false,
  isToc: false,
  postUpdate: '2022-11-14 10:16:41'
}</script><noscript><style type="text/css">
  #nav {
    opacity: 1
  }
  .justified-gallery img {
    opacity: 1
  }

  #recent-posts time,
  #post-meta time {
    display: inline !important
  }
</style></noscript><script>(win=>{
    win.saveToLocal = {
      set: function setWithExpiry(key, value, ttl) {
        if (ttl === 0) return
        const now = new Date()
        const expiryDay = ttl * 86400000
        const item = {
          value: value,
          expiry: now.getTime() + expiryDay,
        }
        localStorage.setItem(key, JSON.stringify(item))
      },

      get: function getWithExpiry(key) {
        const itemStr = localStorage.getItem(key)

        if (!itemStr) {
          return undefined
        }
        const item = JSON.parse(itemStr)
        const now = new Date()

        if (now.getTime() > item.expiry) {
          localStorage.removeItem(key)
          return undefined
        }
        return item.value
      }
    }
  
    win.getScript = url => new Promise((resolve, reject) => {
      const script = document.createElement('script')
      script.src = url
      script.async = true
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    })
  
      win.activateDarkMode = function () {
        document.documentElement.setAttribute('data-theme', 'dark')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
        }
      }
      win.activateLightMode = function () {
        document.documentElement.setAttribute('data-theme', 'light')
        if (document.querySelector('meta[name="theme-color"]') !== null) {
          document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
        }
      }
      const t = saveToLocal.get('theme')
    
          if (t === 'dark') activateDarkMode()
          else if (t === 'light') activateLightMode()
        
      const asideStatus = saveToLocal.get('aside-status')
      if (asideStatus !== undefined) {
        if (asideStatus === 'hide') {
          document.documentElement.classList.add('hide-aside')
        } else {
          document.documentElement.classList.remove('hide-aside')
        }
      }
    
    const detectApple = () => {
      if (GLOBAL_CONFIG_SITE.isHome && /iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
        document.documentElement.classList.add('apple')
      }
    }
    detectApple()
    })(window)</script><link rel="stylesheet" href="./css/custom.css" media="defer" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/font-awesome/css/font-awesome.min.css"><!-- hexo injector head_end start --><link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/Zfour/hexo-electric-clock@1.0.6/clock.css"><!-- hexo injector head_end end --><meta name="generator" content="Hexo 5.4.0"></head><body><div id="loading-box"><div class="loading-left-bg"></div><div class="loading-right-bg"></div><div class="spinner-box"><div class="configure-border-1"><div class="configure-core"></div></div><div class="configure-border-2"><div class="configure-core"></div></div><div class="loading-word">加载中...</div></div></div><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/xiaoziyan/img/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data"><div class="data-item is-center"><div class="data-item-link"><a href="/xiaoziyan/archives/"><div class="headline">文章</div><div class="length-num">33</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/xiaoziyan/tags/"><div class="headline">标签</div><div class="length-num">41</div></a></div></div><div class="data-item is-center"><div class="data-item-link"><a href="/xiaoziyan/categories/"><div class="headline">分类</div><div class="length-num">39</div></a></div></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/xiaoziyan/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> 多媒体</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/xiaoziyan/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/xiaoziyan/movies/"><i class="fa-fw fas fa-video"></i><span> 视频</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/link/"><i class="fa-fw fas fa-link"></i><span> 友情链接</span></a></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/about/"><i class="fa-fw fas fa-heart"></i><span> 关于我</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('/xiaoziyan/img/top_img.jpg')"><nav id="nav"><span id="blog_name"><a id="site-name" href="/xiaoziyan/">XiaoZiYan</a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/xiaoziyan/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/archives/"><i class="fa-fw fas fa-archive"></i><span> 归档</span></a></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="javascript:void(0);"><i class="fa-fw fas fa-list"></i><span> 多媒体</span><i class="fas fa-chevron-down expand"></i></a><ul class="menus_item_child"><li><a class="site-page child" href="/xiaoziyan/music/"><i class="fa-fw fas fa-music"></i><span> 音乐</span></a></li><li><a class="site-page child" href="/xiaoziyan/movies/"><i class="fa-fw fas fa-video"></i><span> 视频</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/link/"><i class="fa-fw fas fa-link"></i><span> 友情链接</span></a></div><div class="menus_item"><a class="site-page" href="/xiaoziyan/about/"><i class="fa-fw fas fa-heart"></i><span> 关于我</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">XiaoZiYan</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://gitee.com/xiaoziyanxiaoludan" target="_blank" title="Gitee"><i class="fab fa-github"></i></a><a class="social-icon" href="/xiaoziyan/zhenghuazong@163.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="post_cover left_radius"><a href="/xiaoziyan/2021/08/06/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E5%A4%A7%E6%95%B0%E6%8D%AE%E8%AE%BE%E8%AE%A1/" title="智慧农业——大数据后台展示设计">     <img class="post_bg" src="http://xiaoziyan.top/images/3205a9c3fa4e72ebd71a6101d2812929.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="智慧农业——大数据后台展示设计"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2021/08/06/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E5%A4%A7%E6%95%B0%E6%8D%AE%E8%AE%BE%E8%AE%A1/" title="智慧农业——大数据后台展示设计">智慧农业——大数据后台展示设计</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2021-08-06T10:12:02.000Z" title="发表于 2021-08-06 18:12:02">2021-08-06</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/">智慧农业</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/PCB/">PCB</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/PCB/%E5%A4%A7%E6%95%B0%E6%8D%AE/">大数据</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/">智慧农业</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/PCB/">PCB</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/">大数据</a></span></div><div class="content">大数据相关知识大数据
对于“大数据”（Big data）研究机构Gartner给出了这样的定义。“大数据”是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力来适应海量、高增长率和多样化的信息资产。

麦肯锡全球研究所给出的定义是：一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合，具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。 [3] 

大数据技术的战略意义不在于掌握庞大的数据信息，而在于对这些含有意义的数据进行专业化处理。换而言之，如果把大数据比作一种产业，那么这种产业实现盈利的关键，在于提高对数据的“加工能力”，通过“加工”实现数据的“增值”。 [4] 

从技术上看，大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理，必须采用分布式架构。它的特色在于对海量数据进行分布式数据挖掘。但它必须依托云计算的分布式处理、分布式数据库和云存储、虚拟化技术。 [1] 

随着云时代的来临，大数据（Big data）也吸引了越来越多的关注。分析师团队认为，大数据（Big data） ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/xiaoziyan/2021/08/05/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E5%89%8D%E7%AB%AF%E8%AE%BE%E8%AE%A1/" title="智慧农业——前端控制设计">     <img class="post_bg" src="http://xiaoziyan.top/images/e610f1279851b9e6e3f4c338cfede87f.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="智慧农业——前端控制设计"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2021/08/05/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E5%89%8D%E7%AB%AF%E8%AE%BE%E8%AE%A1/" title="智慧农业——前端控制设计">智慧农业——前端控制设计</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2021-08-05T10:12:02.000Z" title="发表于 2021-08-05 18:12:02">2021-08-05</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/">智慧农业</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/PCB/">PCB</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/PCB/%E5%89%8D%E7%AB%AF/">前端</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/">智慧农业</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/PCB/">PCB</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%89%8D%E7%AB%AF/">前端</a></span></div><div class="content">选题的背景及意义  智慧农业是实现农业现代化发展的重要途径,发展智慧农业有助于我国农业发展方式转型、改善传统农业生产模式及服务方式,解决环境污染问题,推动农业可持续发展。在政府政策的支持下,我国智慧农业发展迅猛,商业模式不断丰富、农业价值链不断突显,应用领域和范围不断拓展。随着武威市乡村振兴战略的全力推进和5G通信技术的普及，给智慧农业提供了更多更科学高效的解决方案。
  我将结合所学的知识和本学期的前端课程，开发一套基于物联网的智慧农业管理系统，由于这里是前端大作业，所以硬件部分我将简要概述，重点说明管理网站的设计。 
实现技术及项目运行环境说明硬件：PC、云服务器、STM32最小系统、温湿度传感器、光照度传感器、土壤湿度传感器、NBIOT通讯模块。
软件环境：WebStorm2020、java、node.js
使用框架：JQuery、echarts、layui
需求分析硬件需求​    硬件部分要求实现大棚数据的收集，将数据上传到云服务器，接收服务器下发的指令，并做出相应动作。
云服务器需求​    云服务器必须满足将NBIOT上传的数据存储在本地，并可以通过建立WebSocket ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/xiaoziyan/2021/08/03/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91/" title="智慧农业——驱动程序设计">     <img class="post_bg" src="http://xiaoziyan.top/images/a7944f919383883f23a8b3f45788ae9c.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="智慧农业——驱动程序设计"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2021/08/03/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91/" title="智慧农业——驱动程序设计">智慧农业——驱动程序设计</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2021-08-03T07:12:02.000Z" title="发表于 2021-08-03 15:12:02">2021-08-03</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/">智慧农业</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/PCB/">PCB</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/PCB/kile/">kile</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/">智慧农业</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/PCB/">PCB</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/klie/">klie</a></span></div><div class="content">点亮一个LED灯(.C)写程序之前先试着点亮一个LED灯，用于测试，这里LED灯连接的是PC13口，所以要使能GPIOC时钟，并拉低PC13口
123456789101112131415161718#include &quot;led.h&quot;	    //LED IO初始化void LED_Init(void)&#123;  GPIO_InitTypeDef  GPIO_InitStructure;  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);	 //使能PC端口时钟	 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;				  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度为50MHz GPIO_Init(GPIOC, &amp;GPIO_InitStructure);					 //根据设 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/xiaoziyan/2021/08/02/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E7%A1%AC%E4%BB%B6%E8%AE%BE%E8%AE%A1/" title="智慧农业——硬件设计">     <img class="post_bg" src="http://xiaoziyan.top/images/69f7d86180b45b7eabeb284a540905af.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="智慧农业——硬件设计"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2021/08/02/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E7%A1%AC%E4%BB%B6%E8%AE%BE%E8%AE%A1/" title="智慧农业——硬件设计">智慧农业——硬件设计</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2021-08-02T10:12:02.000Z" title="发表于 2021-08-02 18:12:02">2021-08-02</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/">智慧农业</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/PCB/">PCB</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/PCB/%E7%AB%8B%E5%88%9BEDA/">立创EDA</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/">智慧农业</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/PCB/">PCB</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/%E7%AB%8B%E5%88%9BEDA/">立创EDA</a></span></div><div class="content">架构设计
主控STM32F103c8t6原理图
传感器接线
温湿度传感器  DHT11  ：   数据线接PA8     电源接5V
土壤湿度传感器mk227  ：数据线接PA1     电源接5V
OLED显示屏 ：    1(GND)：接GND   、 2(VCC)：接3.3V   、  3(CK)：接PA5   、   4(DI)：接PA7   、   5(RST)：接PB0   、   6(DC)：接PB1   、  7：GND：可以留空
光照度传感器BH1750 ：   1(VCC)：接3.3V    、  2(GND)：接地      、   3(SCL)：PB6   、  4(SDA)：接PB7

STM32 模块IO口配置
串口1 ：PA9、PA10  用于下载程序、调试程序

串口2：PA2、PA3   用于和NBIOT通讯


NBIOT模块原理图
物联网卡模块
USB模块原理图
电池电路原理图
PCB板​        
DHT11引脚
通信
串口，单线双向 一次通讯时间4ms左右

总体概览用户MCU发送一次开始信号后——》DHT11从低功耗模式转换到高速模式  ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/xiaoziyan/2020/10/18/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94ARP%E5%8D%8F%E8%AE%AE%E5%92%8CMAC%E5%B8%A7%E5%88%86%E6%9E%90/" title="Internet协议分析——ARP协议和MAC帧分析">     <img class="post_bg" src="http://xiaoziyan.top/images/37dbb6fd52663318.png" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="Internet协议分析——ARP协议和MAC帧分析"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2020/10/18/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94ARP%E5%8D%8F%E8%AE%AE%E5%92%8CMAC%E5%B8%A7%E5%88%86%E6%9E%90/" title="Internet协议分析——ARP协议和MAC帧分析">Internet协议分析——ARP协议和MAC帧分析</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-10-18T04:12:02.000Z" title="发表于 2020-10-18 12:12:02">2020-10-18</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E5%AD%A6%E4%B9%A0/">学习</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E5%AD%A6%E4%B9%A0/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90/">Internet协议分析</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/ARP%E5%8D%8F%E8%AE%AE%E5%92%8CMAC%E5%B8%A7%E5%88%86%E6%9E%90/">ARP协议和MAC帧分析</a></span></div><div class="content">ARP协议和MAC帧分析

主要学习内容
ARP协议地址解析协议，即ARP（Address Resolution Protocol），是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机，并接收返回消息，以此确定目标的物理地址；收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间，下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的，局域网络上的主机可以自主发送ARP应答消息，其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存；由此攻击者就可以向某一主机发送伪ARP应答报文，使其发送的信息无法到达预期的主机或到达错误的主机，这就构成了一个ARP欺骗。ARP命令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对应关系等。相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。

ARP协议工作过程在同一个网络内：

在不同网络内：

MAC帧格式
实验分析
理论分析：从PC-1 ping 3.3.3.3， ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/xiaoziyan/2020/10/17/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94%E5%88%A9%E7%94%A8GNS%E8%AE%BE%E8%AE%A1%E7%BD%91%E7%BB%9C/" title="Internet协议分析——利用GNS设计网络">     <img class="post_bg" src="http://xiaoziyan.top/images/34908b9fc01.jpg&amp;refer=http___img.it610.jpg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="Internet协议分析——利用GNS设计网络"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2020/10/17/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94%E5%88%A9%E7%94%A8GNS%E8%AE%BE%E8%AE%A1%E7%BD%91%E7%BB%9C/" title="Internet协议分析——利用GNS设计网络">Internet协议分析——利用GNS设计网络</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-10-17T04:12:02.000Z" title="发表于 2020-10-17 12:12:02">2020-10-17</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E5%AD%A6%E4%B9%A0/">学习</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E5%AD%A6%E4%B9%A0/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90/">Internet协议分析</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%88%A9%E7%94%A8GNS%E8%AE%BE%E8%AE%A1%E7%BD%91%E7%BB%9C/">利用GNS设计网络</a></span></div><div class="content">利用GNS3设计和搭建网络

搭建网络设备
网络接口类型
网络接口及其命名规则
接口类型串行接口：接口编号、插槽号/模块号/接口号：从右至左，从上至下

以太网口：从左至右，从上至下

网络要求

IP地址分配

网络要求网关：一般采用IP网络中最高/最低地址
各部门最终IP分配结果如下：
 
设备选型：交换机，路由器
网络结构图

相关命令给PC配IP地址：  ip 10.10.3.2/25 10.10.3.1
  clear ip （清除IP地址）
  show ip （查看IP地址）
  save （保存配置）
三层交换机配置VLAN：  vlan database (特权模式下）
  vlan 10 name vlan10 (建立ID为10,名称为0010的vlan)
进入对应接口模式，将某个接口配置到对应vlan中
  configure terminal
  int f1/0
  switchport mode access
  switchport access vlan 10
查看vlan的相关信息
  show vlan-switch brief （特权模式下）
三层 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/xiaoziyan/2020/10/16/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7/" title="Internet协议分析——协议分析工具">     <img class="post_bg" src="http://xiaoziyan.top/images/g&amp;refer=http___pic.qcsdn.jpg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="Internet协议分析——协议分析工具"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2020/10/16/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7/" title="Internet协议分析——协议分析工具">Internet协议分析——协议分析工具</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-10-16T04:12:02.000Z" title="发表于 2020-10-16 12:12:02">2020-10-16</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E5%AD%A6%E4%B9%A0/">学习</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E5%AD%A6%E4%B9%A0/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90/">Internet协议分析</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7/">协议分析工具</a></span></div><div class="content">协议分析工具

学习TCP/IP协议工作原理，需要借助有效的学习工具，这样才能够更准确全面地掌握协议数据单元的构成和协议工作过程，达到事半功倍的效果。
同时，通过学习掌握各种协议分析工具的用法，还能够为网络工程实践奠定基础。
本章介绍的几款网络学习和分析工具，能够满足学习者在不同学习阶段学习掌握网络协议的需要。除Cisco Packet Tracer主要用于学习外，其他几款工具软件在网络工程、科研领域也为工程技术人员在实际应用中普遍使用。
本章着重介绍Wireshark、Cisco Packet Tracer和GNS3的用法，对Sniffer pro和科来网络分析系统只做简单介绍。
协议分析
协议分析也叫网络分析，是指通过捕获在网络通信系统中传送的数据，搜集网络统计信息，将数据包解码为可以阅读的形式的过程。

要完整准确地捕获网络通信信息，通常需要借助专门设计的软件工具——协议分析器并安装到网络中特定的位置上以获取网络通信信息。

本质上协议分析器是在窃听网络通信。


协议分析工具的原理
数据包嗅探器或分组捕获器：观察正在运行的协议实体间交换报文，包括计算机发送和接收的报文

网络嗅 ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/xiaoziyan/2020/10/15/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94TCP%E3%80%81IP%E6%A6%82%E8%BF%B0/" title="Internet协议分析——TCP/IP协议概述">     <img class="post_bg" src="http://xiaoziyan.top/images/01d&amp;refer=http___pic1.zhimg.jpg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="Internet协议分析——TCP/IP协议概述"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2020/10/15/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94TCP%E3%80%81IP%E6%A6%82%E8%BF%B0/" title="Internet协议分析——TCP/IP协议概述">Internet协议分析——TCP/IP协议概述</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-10-15T04:12:02.000Z" title="发表于 2020-10-15 12:12:02">2020-10-15</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E5%AD%A6%E4%B9%A0/">学习</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E5%AD%A6%E4%B9%A0/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90/">Internet协议分析</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/TCP-IP%E6%A6%82%E8%BF%B0/">TCP/IP概述</a></span></div><div class="content">TCP/IP协议概述

1.TCP/IP分层结构TCP/IP协议是一组开放式协议，可以进行任何组合间的通信，能够满足长距离互联系统的要求，同时分组交换的方式使得网络中只要存在有效路由，网络通信就是可以可靠进行的。
TCP/IP的开放是指对异构的系统是开放的，不同的厂家生产的不同型号的各种计算机，它们运行完全不同的操作系统，使用不同的网络硬件，TCP/IP协议族也能够允许它们互相进行通信。
今天的TCP/IP具有下列主要的特点：

开放，免费使用，独立于计算机硬件与操作系统。

可以运行在局域网、广域网中，更适用于互联网上。

统一的网络地址分配方案

标准化的高层协议，可以提供多种可靠的用户服务。




数据链路层：也称作数据链路层或网络接口层，通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆（或其他任何传输媒介）的物理接口细节。

网络层：有时也称作互联网层，处理分组在网络中的活动，例如分组的选路。在TCP/IP协议族中，网络层协议包括IP协议（网际协议），ICMP协议（网际控制报文协议）以及IGMP协议（网际组管理协议）。

传输层：主要为两台主机上 ...</div></div></div><div class="recent-post-item"><div class="post_cover left_radius"><a href="/xiaoziyan/2020/10/14/AT%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/" title="AT命令详解">     <img class="post_bg" src="https://gitee.com/xiaoziyanxiaoludan/anjupicture/raw/master/images/src=http___www.u.jpg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="AT命令详解"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2020/10/14/AT%E5%91%BD%E4%BB%A4%E8%AF%A6%E8%A7%A3/" title="AT命令详解">AT命令详解</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-10-14T11:12:02.000Z" title="发表于 2020-10-14 19:12:02">2020-10-14</time></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E5%AD%A6%E4%B9%A0/">学习</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/AT%E5%91%BD%E4%BB%A4/">AT命令</a></span></div><div class="content">AT命令详解

概述AT 命令AT 命令（AT Commands）最早是由发明拨号调制解调器（MODEM）的贺氏公司（Hayes）为了控制 MODEM 而发明的控制协议。后来随着网络带宽的升级，速度很低的拨号 MODEM 基本退出一般使用市场，但是 AT 命令保留下来。当时主要的移动电话生产厂家共同为 GSM 研制了一整套 AT 命令，用于控制手机的 GSM 模块。AT 命令在此基础上演化并加入 GSM 07.05 标准以及后来的 GSM 07.07 标准，实现比较健全的标准化。
在随后的 GPRS 控制、3G 模块等方面，均采用的 AT 命令来控制，AT 命令逐渐在产品开发中成为实际的标准。如今，AT 命令也广泛的应用于嵌入式开发领域，AT 命令作为主芯片和通讯模块的协议接口，硬件接口一般为串口，这样主控设备可以通过简单的命令和硬件设计完成多种操作。
AT 组件简介AT 组件是由 AT Server 和 AT Parser 的组成，组件完成 AT 命令的发送、命令格式及参数判断、命令的响应、响应数据的接收、响应数据的解析、OOB 数据处理等整个 AT 命令数据交互流程。
通过 AT  ...</div></div></div><div class="recent-post-item"><div class="post_cover right_radius"><a href="/xiaoziyan/2020/10/10/%E7%88%AC%E8%99%AB%E5%AD%A6%E4%B9%A013%E2%80%94%E2%80%94%E6%8A%93%E5%8F%96%E7%8C%AA%E5%85%AB%E6%88%92%E6%95%B0%E6%8D%AE/" title="爬虫学习13——抓取猪八戒数据">     <img class="post_bg" src="http://xiaoziyan.top/images/be05f37b4d3d97861b0a77bf897aeaca.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="爬虫学习13——抓取猪八戒数据"></a></div><div class="recent-post-info"><a class="article-title" href="/xiaoziyan/2020/10/10/%E7%88%AC%E8%99%AB%E5%AD%A6%E4%B9%A013%E2%80%94%E2%80%94%E6%8A%93%E5%8F%96%E7%8C%AA%E5%85%AB%E6%88%92%E6%95%B0%E6%8D%AE/" title="爬虫学习13——抓取猪八戒数据">爬虫学习13——抓取猪八戒数据</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-10-10T14:32:02.000Z" title="发表于 2020-10-10 22:32:02">2020-10-10</time></span><span class="article-meta"><span class="article-meta__separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E7%88%AC%E8%99%AB%E5%AD%A6%E4%B9%A0/">爬虫学习</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E7%88%AC%E8%99%AB%E5%AD%A6%E4%B9%A0/python/">python</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E7%88%AC%E8%99%AB%E5%AD%A6%E4%B9%A0/python/%E7%88%AC%E8%99%AB/">爬虫</a><i class="fas fa-angle-right"></i><a class="article-meta__categories" href="/xiaoziyan/categories/%E7%88%AC%E8%99%AB%E5%AD%A6%E4%B9%A0/python/%E7%88%AC%E8%99%AB/xpath%E6%A8%A1%E5%9D%97/">xpath模块</a></span><span class="article-meta tags"><span class="article-meta__separator">|</span><i class="fas fa-tag"></i><a class="article-meta__tags" href="/xiaoziyan/tags/%E7%88%AC%E8%99%AB/">爬虫</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/python/">python</a><span class="article-meta__link">•</span><a class="article-meta__tags" href="/xiaoziyan/tags/xpath%E6%A8%A1%E5%9D%97/">xpath模块</a></span></div><div class="content">xpath练习:抓取猪⼋戒数据不墨迹, 直接怼。⼲猪⼋戒。
1234567891011121314151617181920# 拿到页面源代码# 提取和解析数据import requestsfrom lxml import etreeurl = &quot;https://beijing.zbj.com/search/f/?type=new&amp;kw=saas&quot;resp = requests.get(url)# print(resp.text)# 解析html = etree.HTML(resp.text)# 拿到每一个服务商的divdivs = html.xpath(&quot;/html/body/div[6]/div/div/div[2]/div[4]/div[1]/div&quot;)for div in divs:  # 每一个服务商信息    price = div.xpath(&quot;./div/div/a[1]/div[2]/div[1]/span[1]/text()&quot;)[0].strip(&quot;¥&quot;)    title = & ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/xiaoziyan/page/2/#content-inner">2</a><span class="space">&hellip;</span><a class="page-number" href="/xiaoziyan/page/4/#content-inner">4</a><a class="extend next" rel="next" href="/xiaoziyan/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/xiaoziyan/img/avatar.jpg" onerror="this.onerror=null;this.src='/xiaoziyan/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">XiaoZiYan</div><div class="author-info__description"></div></div><div class="card-info-data"><div class="card-info-data-item is-center"><a href="/xiaoziyan/archives/"><div class="headline">文章</div><div class="length-num">33</div></a></div><div class="card-info-data-item is-center"><a href="/xiaoziyan/tags/"><div class="headline">标签</div><div class="length-num">41</div></a></div><div class="card-info-data-item is-center"><a href="/xiaoziyan/categories/"><div class="headline">分类</div><div class="length-num">39</div></a></div></div><a class="button--animated" id="card-info-btn" target="_blank" rel="noopener" href="https://gitee.com/xiaoziyanxiaoludan"><i class="fab fa-gitee"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://gitee.com/xiaoziyanxiaoludan" target="_blank" title="Gitee"><i class="fab fa-github"></i></a><a class="social-icon" href="/xiaoziyan/zhenghuazong@163.com" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn card-announcement-animation"></i><span>公告</span></div><div class="announcement_content">冲啊！奥里给！</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item"><a class="thumbnail" href="/xiaoziyan/2021/08/06/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E5%A4%A7%E6%95%B0%E6%8D%AE%E8%AE%BE%E8%AE%A1/" title="智慧农业——大数据后台展示设计"><img src="http://xiaoziyan.top/images/3205a9c3fa4e72ebd71a6101d2812929.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="智慧农业——大数据后台展示设计"/></a><div class="content"><a class="title" href="/xiaoziyan/2021/08/06/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E5%A4%A7%E6%95%B0%E6%8D%AE%E8%AE%BE%E8%AE%A1/" title="智慧农业——大数据后台展示设计">智慧农业——大数据后台展示设计</a><time datetime="2021-08-06T10:12:02.000Z" title="发表于 2021-08-06 18:12:02">2021-08-06</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/xiaoziyan/2021/08/05/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E5%89%8D%E7%AB%AF%E8%AE%BE%E8%AE%A1/" title="智慧农业——前端控制设计"><img src="http://xiaoziyan.top/images/e610f1279851b9e6e3f4c338cfede87f.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="智慧农业——前端控制设计"/></a><div class="content"><a class="title" href="/xiaoziyan/2021/08/05/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E5%89%8D%E7%AB%AF%E8%AE%BE%E8%AE%A1/" title="智慧农业——前端控制设计">智慧农业——前端控制设计</a><time datetime="2021-08-05T10:12:02.000Z" title="发表于 2021-08-05 18:12:02">2021-08-05</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/xiaoziyan/2021/08/03/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91/" title="智慧农业——驱动程序设计"><img src="http://xiaoziyan.top/images/a7944f919383883f23a8b3f45788ae9c.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="智慧农业——驱动程序设计"/></a><div class="content"><a class="title" href="/xiaoziyan/2021/08/03/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%BC%80%E5%8F%91/" title="智慧农业——驱动程序设计">智慧农业——驱动程序设计</a><time datetime="2021-08-03T07:12:02.000Z" title="发表于 2021-08-03 15:12:02">2021-08-03</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/xiaoziyan/2021/08/02/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E7%A1%AC%E4%BB%B6%E8%AE%BE%E8%AE%A1/" title="智慧农业——硬件设计"><img src="http://xiaoziyan.top/images/69f7d86180b45b7eabeb284a540905af.jpeg" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="智慧农业——硬件设计"/></a><div class="content"><a class="title" href="/xiaoziyan/2021/08/02/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A%E7%A1%AC%E4%BB%B6%E8%AE%BE%E8%AE%A1/" title="智慧农业——硬件设计">智慧农业——硬件设计</a><time datetime="2021-08-02T10:12:02.000Z" title="发表于 2021-08-02 18:12:02">2021-08-02</time></div></div><div class="aside-list-item"><a class="thumbnail" href="/xiaoziyan/2020/10/18/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94ARP%E5%8D%8F%E8%AE%AE%E5%92%8CMAC%E5%B8%A7%E5%88%86%E6%9E%90/" title="Internet协议分析——ARP协议和MAC帧分析"><img src="http://xiaoziyan.top/images/37dbb6fd52663318.png" onerror="this.onerror=null;this.src='/xiaoziyan/img/404.jpg'" alt="Internet协议分析——ARP协议和MAC帧分析"/></a><div class="content"><a class="title" href="/xiaoziyan/2020/10/18/Internet%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E2%80%94%E2%80%94ARP%E5%8D%8F%E8%AE%AE%E5%92%8CMAC%E5%B8%A7%E5%88%86%E6%9E%90/" title="Internet协议分析——ARP协议和MAC帧分析">Internet协议分析——ARP协议和MAC帧分析</a><time datetime="2020-10-18T04:12:02.000Z" title="发表于 2020-10-18 12:12:02">2020-10-18</time></div></div></div></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/xiaoziyan/tags/%E5%AD%A6%E4%B9%A0/" style="font-size: 1.45em; color: rgb(58, 18, 67)">学习</a><a href="/xiaoziyan/tags/AT%E5%91%BD%E4%BB%A4/" style="font-size: 1.15em; color: rgb(6, 137, 173)">AT命令</a><a href="/xiaoziyan/tags/STC51/" style="font-size: 1.32em; color: rgb(197, 14, 88)">STC51"</a><a href="/xiaoziyan/tags/%E5%8D%95%E7%89%87%E6%9C%BA/" style="font-size: 1.36em; color: rgb(42, 140, 75)">单片机</a><a href="/xiaoziyan/tags/%E5%A4%96%E9%83%A8%E4%B8%AD%E6%96%AD/" style="font-size: 1.19em; color: rgb(41, 101, 56)">外部中断</a><a href="/xiaoziyan/tags/LCD1602/" style="font-size: 1.15em; color: rgb(60, 30, 90)">LCD1602</a><a href="/xiaoziyan/tags/%E6%8C%89%E9%94%AE%E6%8E%A7%E5%88%B6/" style="font-size: 1.15em; color: rgb(128, 199, 149)">按键控制</a><a href="/xiaoziyan/tags/%E6%B5%81%E6%B0%B4%E7%81%AF/" style="font-size: 1.15em; color: rgb(148, 5, 178)">流水灯</a><a href="/xiaoziyan/tags/%E8%AE%A1%E6%97%B6%E5%99%A8/" style="font-size: 1.15em; color: rgb(15, 72, 117)">计时器</a><a href="/xiaoziyan/tags/TCP-IP%E6%A6%82%E8%BF%B0/" style="font-size: 1.15em; color: rgb(98, 132, 169)">TCP/IP概述</a><a href="/xiaoziyan/tags/%E5%88%A9%E7%94%A8GNS%E8%AE%BE%E8%AE%A1%E7%BD%91%E7%BB%9C/" style="font-size: 1.15em; color: rgb(13, 148, 75)">利用GNS设计网络</a><a href="/xiaoziyan/tags/%E5%8D%8F%E8%AE%AE%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7/" style="font-size: 1.15em; color: rgb(43, 159, 32)">协议分析工具</a><a href="/xiaoziyan/tags/Hexo/" style="font-size: 1.19em; color: rgb(127, 15, 190)">Hexo"</a><a href="/xiaoziyan/tags/markdown/" style="font-size: 1.15em; color: rgb(4, 137, 7)">markdown</a><a href="/xiaoziyan/tags/Typora/" style="font-size: 1.19em; color: rgb(13, 10, 139)">Typora</a><a href="/xiaoziyan/tags/Gitee/" style="font-size: 1.15em; color: rgb(33, 51, 31)">Gitee</a><a href="/xiaoziyan/tags/git/" style="font-size: 1.15em; color: rgb(171, 101, 53)">git</a><a href="/xiaoziyan/tags/hexo/" style="font-size: 1.19em; color: rgb(76, 42, 98)">hexo</a><a href="/xiaoziyan/tags/STM32/" style="font-size: 1.15em; color: rgb(71, 147, 199)">STM32"</a><a href="/xiaoziyan/tags/%E5%9B%BE%E7%89%87/" style="font-size: 1.15em; color: rgb(66, 143, 113)">图片</a><a href="/xiaoziyan/tags/%E8%A7%86%E9%A2%91/" style="font-size: 1.15em; color: rgb(147, 107, 32)">视频</a><a href="/xiaoziyan/tags/%E5%9B%BE%E5%BA%8A/" style="font-size: 1.15em; color: rgb(39, 117, 10)">图床</a><a href="/xiaoziyan/tags/gitee/" style="font-size: 1.15em; color: rgb(178, 34, 41)">gitee</a><a href="/xiaoziyan/tags/Picgo/" style="font-size: 1.15em; color: rgb(191, 122, 126)">Picgo</a><a href="/xiaoziyan/tags/%E5%B5%8C%E5%85%A5%E8%A7%86%E9%A2%91/" style="font-size: 1.15em; color: rgb(3, 92, 112)">嵌入视频</a><a href="/xiaoziyan/tags/ARP%E5%8D%8F%E8%AE%AE%E5%92%8CMAC%E5%B8%A7%E5%88%86%E6%9E%90/" style="font-size: 1.15em; color: rgb(140, 175, 39)">ARP协议和MAC帧分析</a><a href="/xiaoziyan/tags/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/" style="font-size: 1.28em; color: rgb(63, 13, 177)">智慧农业</a><a href="/xiaoziyan/tags/PCB/" style="font-size: 1.28em; color: rgb(96, 33, 163)">PCB</a><a href="/xiaoziyan/tags/%E5%89%8D%E7%AB%AF/" style="font-size: 1.15em; color: rgb(174, 180, 55)">前端</a><a href="/xiaoziyan/tags/%E5%A4%A7%E6%95%B0%E6%8D%AE/" style="font-size: 1.15em; color: rgb(52, 171, 181)">大数据</a><a href="/xiaoziyan/tags/%E7%AB%8B%E5%88%9BEDA/" style="font-size: 1.15em; color: rgb(74, 114, 59)">立创EDA</a><a href="/xiaoziyan/tags/%E7%88%AC%E8%99%AB/" style="font-size: 1.41em; color: rgb(171, 0, 76)">爬虫</a><a href="/xiaoziyan/tags/python/" style="font-size: 1.41em; color: rgb(161, 14, 53)">python</a><a href="/xiaoziyan/tags/klie/" style="font-size: 1.15em; color: rgb(143, 107, 0)">klie</a><a href="/xiaoziyan/tags/web/" style="font-size: 1.15em; color: rgb(60, 132, 144)">web</a><a href="/xiaoziyan/tags/HTTP/" style="font-size: 1.15em; color: rgb(62, 87, 146)">HTTP</a><a href="/xiaoziyan/tags/requests/" style="font-size: 1.15em; color: rgb(66, 52, 20)">requests</a><a href="/xiaoziyan/tags/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/" style="font-size: 1.15em; color: rgb(131, 192, 165)">正则表达式</a><a href="/xiaoziyan/tags/re%E6%A8%A1%E5%9D%97/" style="font-size: 1.19em; color: rgb(5, 53, 83)">re模块</a><a href="/xiaoziyan/tags/bs4%E6%A8%A1%E5%9D%97/" style="font-size: 1.24em; color: rgb(22, 155, 93)">bs4模块</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/xiaoziyan/archives/2021/08/"><span class="card-archive-list-date">八月 2021</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/xiaoziyan/archives/2020/10/"><span class="card-archive-list-date">十月 2020</span><span class="card-archive-list-count">16</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/xiaoziyan/archives/2020/09/"><span class="card-archive-list-date">九月 2020</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/xiaoziyan/archives/2019/11/"><span class="card-archive-list-date">十一月 2019</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/xiaoziyan/archives/2019/10/"><span class="card-archive-list-date">十月 2019</span><span class="card-archive-list-count">6</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/xiaoziyan/archives/2019/09/"><span class="card-archive-list-date">九月 2019</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/xiaoziyan/archives/2019/08/"><span class="card-archive-list-date">八月 2019</span><span class="card-archive-list-count">4</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">33</div></div><div class="webinfo-item"><div class="item-name">已运行时间 :</div><div class="item-count" id="runtimeshow" data-publishDate="2018-06-06T16:00:00.000Z"></div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2022-11-14T02:16:41.640Z"></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">&copy;2020 - 2022 By XiaoZiYan</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div><div class="footer_custom_text"><p><a style="margin-inline:5px"target="_blank" href="https://hexo.io/"> <img src="https://img.shields.io/badge/Frame-Hexo-blue?style=flat&logo=hexo" title="博客框架为 Hexo" alt="HEXO"></a><a style="margin-inline:5px"target="_blank"href="https://butterfly.js.org/"> <img src="https://img.shields.io/badge/Theme-Butterfly-6513df?style=flat&logo=bitdefender" title="主题采用 Butterfly" alt="Butterfly"></a><a style="margin-inline:5px"target="_blank" href="https://www.jsdelivr.com/"> <img src="https://img.shields.io/badge/CDN-jsDelivr-orange?style=flat&logo=jsDelivr" title="本站使用 Jsdelivr 为静态资源提供CDN加速" alt="Jsdelivr"></a><a style="margin-inline:5px"target="_blank" href="https://github.com/"> <img src="https://img.shields.io/badge/Source-gitee-d021d6?style=flat&logo=Gitee" title="本站项目由 Gitee 托管" alt="Gitee"></a><a style="margin-inline:5px"target="_blank"href="http://creativecommons.org/licenses/by-nc-sa/4.0/"> <img src="https://img.shields.io/badge/Copyright-BY--NC--SA%204.0-d42328?style=flat&logo=Claris" alt="img" title="本站采用知识共享署名-非商业性使用-相同方式共享4.0国际许可协议进行许可"></a></p></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/xiaoziyan/js/utils.js"></script><script src="/xiaoziyan/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/instant.page/instantpage.min.js" type="module"></script><script src="https://cdn.jsdelivr.net/npm/node-snackbar/dist/snackbar.min.js"></script><script>function panguFn () {
  if (typeof pangu === 'object') pangu.autoSpacingPage()
  else {
    getScript('https://cdn.jsdelivr.net/npm/pangu/dist/browser/pangu.min.js')
      .then(() => {
        pangu.autoSpacingPage()
      })
  }
}

function panguInit () {
  if (false){
    GLOBAL_CONFIG_SITE.isPost && panguFn()
  } else {
    panguFn()
  }
}

document.addEventListener('DOMContentLoaded', panguInit)</script><script>var preloader = {
  endLoading: () => {
    document.body.style.overflow = 'auto';
    document.getElementById('loading-box').classList.add("loaded")
  },
  initLoading: () => {
    document.body.style.overflow = '';
    document.getElementById('loading-box').classList.remove("loaded")

  }
}
window.addEventListener('load',preloader.endLoading())</script><div class="js-pjax"><script>function subtitleType () {
  if (true) { 
    var typed = new Typed("#subtitle", {
      strings: "事事顺利，永无BUG".split(","),
      startDelay: 300,
      typeSpeed: 150,
      loop: true,
      backSpeed: 50
    })
  } else {
    document.getElementById("subtitle").innerHTML = '事'
  }
}

if (true) {
  if (typeof Typed === 'function') {
    subtitleType()
  } else {
    getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
  }
} else {
  subtitleType()
}</script></div><script src="./js/sakura.js"></script><canvas class="fireworks" mobile="false"></canvas><script src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/fireworks.min.js"></script><script defer="defer" id="ribbon" src="https://cdn.jsdelivr.net/npm/butterfly-extsrc@1/dist/canvas-ribbon.min.js" size="150" alpha="0.6" zIndex="-1" mobile="false" data-click="true"></script><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div><!-- hexo injector body_end start --><script data-pjax>function electric_clock_injector_config(){
                var parent_div_git = document.getElementsByClassName('sticky_layout')[0];
                var item_html = '<div class="card-widget card-clock"><div class="card-glass"><div class="card-background"><div class="card-content"><div id="hexo_electric_clock"><img id="card-clock-loading" src="https://cdn.jsdelivr.net/gh/Zfour/Butterfly-clock/clock/images/weather/loading.gif" style="height: 120px; width: 100%;" data-ll-status="loading" class="entered loading"></div></div></div></div></div>';
                console.log('已挂载electric_clock')
                // parent_div_git.innerHTML=item_html+parent_div_git.innerHTML // 无报错，但不影响使用(支持pjax跳转)
                parent_div_git.insertAdjacentHTML("afterbegin",item_html) // 有报错，但不影响使用(支持pjax跳转)
            }if( document.getElementsByClassName('sticky_layout')[0] && (location.pathname ==='all'|| 'all' ==='all')){

            electric_clock_injector_config()
        } </script><script src="https://pv.sohu.com/cityjson?ie=utf-8"></script><script data-pjax  src="https://cdn.jsdelivr.net/gh/Zfour/hexo-electric-clock@1.0.6/clock.js"></script><!-- hexo injector body_end end --></body></html>